<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            // let a = new Object();
            // a.name = "张三"
            // a.age = 20
            // a.phone = "13920392839"
            // a.speak = function(){
            //     alert("说话")
            // }

            // alert(a.name+"   "+a.age+"   "+a.phone)
            // a.speak();
            //删除对象属性
            // delete a.phone
            // alert(a.name+"   "+a.age+"   "+a.phone)
            // for (let fieldName in a){
            //     console.log("属性名:"+fieldName+"属性值"+a[fieldName])
            // }

            //定义一个没有属性的对象，相当于new object()
            // let obj = {
            //
            // }
            //定义带属性的对象，属性名可以加引号，可以不加
            // let myObj = {name:"张三","age":20,sex:"男"}
            // // alert(myObj.name+"   "+myObj.age+"   "+myObj.sex)
            // //返回指定对象的JSON格式字符串
            // alert(JSON.stringify(myObj))
            //
            // let a = new Object();
            // a.name = "张三"
            // a.age = 20
            // a.phone = "13920392839"
            // alert(JSON.stringify(a))
            //
            // let str = "{name:'李四',age:30}"
            // let obj = JSON.parse(str)
            // alert(obj.name+" "+obj.age)


            // let dog = {name:"旺财",age:3};
            // //速写属性，当属性名和属性值一样时，可以只写属性名
            // let man = {name:"修哥",age:32,dog};
            // alert(man.name+"   "+man.dog.name);

            // let dog = {name:"旺财",age:3,color:"黄色"}
            // alert("姓名:"+dog.name+"年龄:"+dog.age+"颜色:"+dog.color);
            // //模板字符串,${}可以将变量值插入其中
            // alert(`姓名:${dog.name} 年龄:${dog.age} 颜色:${dog.color}`)

            //定义长度为0的数组
            // let arr  = new Array();
            // let myArray  = [];
            //
            // //定义有初始值的数组
            // let arrayObj = [1,2,3,4,5,6];
            //
            // //数组的length属性可以赋值
            // arrayObj.length = 8;
            // alert(arrayObj[7]);
            //
            // alert(arrayObj.length)
            // let arr = [1,2,3]
            // arr[5] = 8;
            // alert(arr)
            // alert(arr[4])
            // let arr = [1,2,3]
            //类似Java集合中的add，在数组的尾部追加元素
            // arr.push(8)
            // console.log(arr)
            // let dog = {name:"旺财",age:3,color:"黄色"}
            // console.log(dog)
            // let arr = [1,2,3,4,5,6]
            // //从下标为3开始，删除一个元素
            // arr.splice(3,1)
            // //在下标为2的元素前面添加元素
            // arr.splice(2,0,12,13,14)
            // //从下标为1开始，删除两个元素，替换成新的元素
            // arr.splice(1,2,"ok","no")
            // console.log(arr)

            let arr = [
                {name: "张三", age: 30},
                {name: "李四", age: 40},
                {name: "刘三", age: 28},
                {name: "吴六", age: 32}
            ];

            // for (let i = 0;i<arr.length;i++){
            //     var n = arr[i]
            //     console.log(n.name+"    "+n.age)
            // }
            // console.log('-----------------------')
            //
            // //采用foreach遍历，n表示数组中的一个元素
            // arr.forEach(n =>{
            //     console.log(n.name+"    "+n.age)
            // })

            //    查找
            //    得到指定元素下标
            // let index = arr.findIndex(n => n.name == "刘三");
            // console.log(index)
            //
            // //按条件查找指定元素，如果没找到，返回undefined
            // let obj = arr.find(n => n.name == "刘三")
            // console.log(obj.age)

            // 返回满足指定条件的元素
            // let  list = arr.filter(n => n.age >= 30)
            // console.log(list)

            //排序，a和b表示数组中的元素。
            //当表达式返回整数表示第一个元素大于第二个元素
            //当表达式返回负数表示第一个元素小于第二个元素
            // 当表达式返回0表示第一个元素等于第二个元素
            // arr.sort((b,a) =>  a.age - b.age)
            // console.log(arr)

            //
            var list = arr.map(n => n.name);
            console.log(list)




        </script>
    </head>
    <body>

    </body>
</html>